<template>
    <div class="school">
        <h2>名称：{{ name }}</h2>
        <h2>地址：{{ address }}</h2>
    </div>
</template>
<script>
// 导入消息订阅的包，记得要安装包 npm install pubsub-js@1.6.0 --save
import PubSub from "pubsub-js";

export default {
    name: 'School',
    data() {
        return {
            name: '上海复旦',
            address: '上海',
        }
    },
    mounted() {
        // 接收数据
        // this.$bus.$on('hello', (data) => {
        //     console.log('School组件收到数据：', data);
        // })

        // 消息订阅写法
        this.pubId = PubSub.subscribe('hello', (msgName, data) => {
            console.log('有人发布hello消息，消息回调执行了', msgName, data);
        })
    },
    // 组件销毁前
    beforeDestroy() {   
        // 解绑，不然开发中会绑定的太多了
        // this.$bus.$off('hello')

        // 消息订阅写法
        PubSub.unsubscribe(this.pubId)
    }
}
</script>
<!-- 加上scoped属性，这个样式只作用于当前页面 -->
<style scoped>
.school {
    background-color: skyblue;
}
</style>